import crypto from "crypto";
import CryptoJS from 'crypto-js';

// 随机盐值应该放在更安全的地方
export const salt = "#(*&SASELlw..smartAI../.wew";

// 定义加密方法
export function hashPassword(password: string) {
  // 使用SHA-256算法对密码和盐值进行哈希运算
  const hash = crypto
    .pbkdf2Sync(password, salt, 1000, 32, "sha256")
    .toString("hex");
  // 将盐值和哈希值拼接起来，存储到数据库中
  return `${salt}:${hash}`;
}


// 解密函数
export function decrypt(str: string) {
  const key = CryptoJS.enc.Utf8.parse('1234567s'); // 密钥，需要妥善保管
  const iv = CryptoJS.enc.Utf8.parse('12345678kk'); // 初始向量，需要妥善保管
  const decrypted = CryptoJS.AES.decrypt(str, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  return decrypted.toString(CryptoJS.enc.Utf8);
}